package com.zhang.bingmei_incomeexpenditure.entity.ie;

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;

/**
 * 海口市病媒生物防制经费收支导出VO（Long类型，原始单位：万元分，格式化后显示为万元）
 */
@Data
public class HaikouIncomeExpenditureExportVO {

    // 市辖区（纵向合并相同区域）
    @Excel(name = "市辖区", orderNum = "0", mergeVertical = true)
    private String district;

    // 年度（显示为“2024年度”）
    @Excel(name = "年度", orderNum = "1", format = "#年度") // 自动加“年度”后缀
    private Integer year;

    // -------------- 第一组：经费来源 --------------
    @Excel(
            name = "市级下达经费",
            groupName = "经费来源",
            orderNum = "2",
            numFormat = "0.00" // 除以100后保留2位小数（Long类型万元分 → 万元）
    )
    private Long cityAllocated; // 原始数据：万元分（如1234 → 12.34万元）

    @Excel(
            name = "区级配套经费",
            groupName = "经费来源",
            orderNum = "3",
            numFormat = "0.00"
    )
    private Long districtAllocated;

    @Excel(
            name = "其他（财政专项拨款、单位自筹等）",
            groupName = "经费来源",
            orderNum = "4",
            numFormat = "0.00"
    )
    private Long otherFunds;

    @Excel(
            name = "合计",
            groupName = "经费来源",
            orderNum = "5",
            numFormat = "0.00"
    )
    private Long fundsSourceTotal;

    // -------------- 第二组：已实际完成支付 --------------
    @Excel(
            name = "购置、维修、维护“防蚊、防蝇”设施",
            groupName = "已实际完成支付",
            orderNum = "6",
            numFormat = "0.00"
    )
    private Long purchaseMaintain;

    @Excel(
            name = "购买消杀设备、药品",
            groupName = "已实际完成支付",
            orderNum = "7",
            numFormat = "0.00"
    )
    private Long purchaseEquipment;

    @Excel(
            name = "病媒生物防制相关宣传费、印刷费",
            groupName = "已实际完成支付",
            orderNum = "8",
            numFormat = "0.00"
    )
    private Long diseasePrevention;

    @Excel(
            name = "组织专家开展区内病媒防制工作研讨等",
            groupName = "已实际完成支付",
            orderNum = "9",
            numFormat = "0.00"
    )
    private Long expertTraining;

    @Excel(
            name = "购买第三方病媒防制服务",
            groupName = "已实际完成支付",
            orderNum = "10",
            numFormat = "0.00"
    )
    private Long thirdPartyService;

    @Excel(
            name = "其他不属于上述用途的支出",
            groupName = "已实际完成支付",
            orderNum = "11",
            numFormat = "0.00"
    )
    private Long otherPayment;

    @Excel(
            name = "已实际完成支付合计",
            groupName = "已实际完成支付",
            orderNum = "12",
            numFormat = "0.00"
    )
    private Long paymentTotal;

    // -------------- 第三组：被财政部门收回的资金 --------------
    @Excel(
            name = "市级下拨经费",
            groupName = "被财政部门收回的资金",
            orderNum = "13",
            numFormat = "0.00"
    )
    private Long cityRecovered;

    @Excel(
            name = "区级配套经费",
            groupName = "被财政部门收回的资金",
            orderNum = "14",
            numFormat = "0.00"
    )
    private Long districtRecovered;
}